home *** CD-ROM | disk | FTP | other *** search
- Memphis: Early capital of ancient Egypt, on W. bank of Nile S. of Cairo.
-
- About MemFS 1.08
- ================
-
- * 1.08 fixes openout and dir not empty problems with riscos 3.
-
- Provides a dynamically resizeable ramdisc by using the system sprite area
- for storage. (In sprites so its compatible with other users, but sadly not
- those who *SNew)
-
- Up to 30 character file names (beware old filer 10-char bug).
-
- Automatic creation of directories in path of a created file.
-
- Automatically grows and shrinks sprite area, but this can only happen when
- the system allows. It never goes smaller than the configured spritesize, and
- only shrinks when deleting, so you can drag it large to make space before
- operations during which it cannot grow. This means *COPY, principally, since
- that claims all free memory during its operation.
-
- Transparently uses links created by !Links>=0.52 within MemFS.
-
- Ideal for use as a scrap device - NB in fact !Run sets Wimp$Scrap onto it.
-
- Pretty minimal memory overhead:
- 64 bytes sprite and file header per object
- name length + 4 rounded up to word per directory entry.
-
- Start by running the memfs application, then use it like the ramdisc, except
- it can be resized with stuff in.
-
- I am pretty sure that this works, but there may well still be bugs, so
- please don't commit irreplaceable data to it!
-
-
-
- Technical
-
- A nearly full riscos file system, supports everything except (I think):
- * Wildcarded: *access, *info, *fileinfo, Open
- * options, disc names.
- * URD(&) - easy to do if demand, but I morally disapprove.
- * Does not sort *CAT/*EX output
-
- The error message "Lost inode" means that MemFS was unable to find a sprite
- it expected to. It will use any file structure that it finds already present
- when it is loaded, so if you want you can save the entire contents with
- *ssave, and load it again with *sload.
-
- The memfs and memfsfiler modules should work ok when loaded outside the
- Wimp, and behave as a standard fs/filer pair. The filer needs a sprite
- called memfs in the wimp sprite pool. Of course, it will be difficult to
- extend the sprite area when anything is running in single tasking mode.
-
- Massively suboptimal algorithms. Entire sprite area is moved down when files
- are deleted, unsorted directories are searched linearly :-(
-
-
-
-
-
- Dedications
-
- This project was written in C and produced using the FSinC stuff from Jon
- Roach of Acorn, as heavily hacked by me.
-
- The idea of using the sprite area as a dynamic method of allocating space
- came to Nicko Van Someren, in a flash of insight during a conversation we
- had. This was several months after I had given up on an attempt at this
- using the ramfs dynamic area due to the evil that riscos perpetrates when
- one calls ChangeDynamic area on that, and settled for the horrible solution
- of the RMA, which would never shrink.
-
- It is dedicated to debugging via printf :-(
-
- Distribution:
-
- This software may be freely redistributed, so long as only a reasonable
- copying or media charge is made, and all files I distribute are included. I
- retain copyright to the code. Commercial (including magazine) distribution,
- or distributing modified versions of this please contact me - I am normally
- happy for it to be reused in other free software, but like to avoid deviant
- versions of mine causing trouble.
-
- I am not asking for money, but if you like and use it I would be surprised
- and amazed by any contributions, and you will receive a disc with latest
- versions on. (>£5, say)
-
- Me:
-
- Brian.Brunswick@cl.cam.ac.uk
-
- or
-
- Brian Brunswick
- Fairview
- Avenue des Hirondelles
- Pool-in-WharfeDale
- Leeds
- LS21 1EY
- UK
- 0532 843737
-